﻿using System;
using SharpSqlAnalyzer.nodes;

namespace SharpSqlAnalyzer.stmt
{
	// Token: 0x020000BF RID: 191
	public class TSetStmt : TCustomSqlStatement
	{
		// Token: 0x060006E7 RID: 1767 RVA: 0x002FFA74 File Offset: 0x002FDC74
		public ESetStatementType getSetStatementType()
		{
			return this.setStatementType;
		}

		// Token: 0x060006E8 RID: 1768 RVA: 0x002FFA7C File Offset: 0x002FDC7C
		public TObjectName getVariableName()
		{
			return this.variableName;
		}

		// Token: 0x060006E9 RID: 1769 RVA: 0x002FFA84 File Offset: 0x002FDC84
		public TObjectNameList getVariableNameList()
		{
			return this.variableNameList;
		}

		// Token: 0x060006EA RID: 1770 RVA: 0x002FFA8C File Offset: 0x002FDC8C
		public TExpression getVariableValue()
		{
			return this.variableValue;
		}

		// Token: 0x060006EB RID: 1771 RVA: 0x002FFA94 File Offset: 0x002FDC94
		public TExpressionList getVariableValueList()
		{
			return this.variableValueList;
		}

		// Token: 0x060006EC RID: 1772 RVA: 0x002FFA9C File Offset: 0x002FDC9C
		public TSetStmt(EDbVendor dbvendor) : base(dbvendor)
		{
			this.sqlstatementtype = ESqlStatementType.sstset;
		}

		// Token: 0x060006ED RID: 1773 RVA: 0x002FFAB0 File Offset: 0x002FDCB0
		public TPTNodeList<TSetAssignment> getAssignments()
		{
			return this.assignments;
		}

		// Token: 0x060006EE RID: 1774 RVA: 0x002FFAB8 File Offset: 0x002FDCB8
		public override int doParseStatement(TCustomSqlStatement psql)
		{
			if (this.rootNode == null)
			{
				return -1;
			}
			base.doParseStatement(psql);
			TSetSqlNode tsetSqlNode = (TSetSqlNode)this.rootNode;
			this.setStatementType = tsetSqlNode.SetStatementType;
			this.variableName = tsetSqlNode.VariableName;
			this.variableNameList = tsetSqlNode.VariableNameList;
			this.variableValue = tsetSqlNode.VariableValue;
			this.variableValueList = tsetSqlNode.VariableValueList;
			return 0;
		}

		// Token: 0x060006EF RID: 1775 RVA: 0x002FFB20 File Offset: 0x002FDD20
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x060006F0 RID: 1776 RVA: 0x002FFB30 File Offset: 0x002FDD30
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x040011C5 RID: 4549
		private TObjectName variableName;

		// Token: 0x040011C6 RID: 4550
		private TObjectNameList variableNameList;

		// Token: 0x040011C7 RID: 4551
		private TExpression variableValue;

		// Token: 0x040011C8 RID: 4552
		private TExpressionList variableValueList;

		// Token: 0x040011C9 RID: 4553
		private ESetStatementType setStatementType;

		// Token: 0x040011CA RID: 4554
		private TPTNodeList<TSetAssignment> assignments;
	}
}
